package cn.iocoder.boot.test.infrastructure;

import cn.iocoder.boot.domain.strategy.model.valobj.RuleTreeVO;
import cn.iocoder.boot.domain.strategy.repository.IStrategyRepository;
import com.alibaba.fastjson2.JSON;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
/**
 * @author Huangjun
 * @description 策略仓储测试
 * @create 2025/11/26
 */
@Slf4j // 日志注解，用于在类中生成日志对象
@RunWith(SpringRunner.class) // 使用SpringRunner运行Spring Boot的测试
@SpringBootTest // 标记为Spring Boot的测试类，会自动初始化Spring上下文
public class StrategyRepositoryTest {

    @Resource // 自动注入资源
    private IStrategyRepository strategyRepository;

    /**
     * 测试根据树ID查询规则树VO的方法
     * 验证数据库查询操作是否正常工作
     */
    @Test // 标记为测试方法
    public void queryRuleTreeVOByTreeId() {
        // 调用查询方法，传入树ID参数"tree_lock"
        RuleTreeVO ruleTreeVO = strategyRepository.queryRuleTreeVOByTreeId("tree_lock");
        // 将查询结果以JSON格式输出到日志中
        log.info("测试结果：{}", JSON.toJSONString(ruleTreeVO));
    }

}